package com.demo.modules.sys.service;

import com.demo.modules.sys.entity.SysUserEntity;
import com.demo.modules.sys.entity.SysUserTokenEntity;
import com.demo.modules.sys.form.SysLoginForm;

import java.util.Set;

/**
 * shiro相关接口
 *
 * @author Mark sunlightcs@gmail.com
 */
public interface ShiroService {

    /**
     * 登陆
     */
    SysUserEntity login(SysLoginForm form, String tokenType, String ip);

    /**
     * 获取用户权限列表
     */
    Set<String> getUserPermissions(long userId);

    /**
     * 根据用户ID，查询用户
     */
    SysUserEntity queryUser(Long userId);

    /**
     * 退出，修改token值
     *
     * @param userId 用户ID
     */
    void logout(long userId);

}
